package IO流.课后作业.M6;

import java.io.File;
import java.util.Date;

public class FileTest {
    public static void main(String[] args) throws Exception
    {
        String filePath = "/Users/liuxiang/Documents/MyFolder";
        String fileName = "test.txt";
        File myFolder = new File(filePath);

        //文件夹不存在时创建文件夹
        if (!myFolder.exists()){

            //myFolder.mkdir(); //创建当前目录
            myFolder.mkdirs();  //创建当前目录结构的所以目录
        }

        //文件不存在时创建文件
        File myFile = new File(filePath+"/"+fileName);
        if (myFile.exists()){
            myFile.createNewFile();  //创建一个文件
        }
        System.out.println("-----------------------------------------------");

        //文件信息
        System.out.println("文件绝对路径:"+myFile.getAbsolutePath());
        System.out.println("文件名称:"+myFile.getName());
        System.out.println("文件父节点:"+myFile.getParent());
        System.out.println("是文件夹吗？"+myFile.isDirectory());
        System.out.println("是文件吗？"+myFile.isFile());
        System.out.println("是隐藏的吗?"+myFile.isHidden());
        System.out.println("是可读的吗？"+myFile.canRead());
        System.out.println("是可写的吗？"+myFile.canWrite());
        System.out.println("是可执行的吗？"+myFile.canExecute());
        System.out.println("最后一次修改时间？"+new Date(myFile.lastModified()));
        System.out.println("文件的大小:"+myFile.length()+"字节");
        System.out.println("---------------------");

        //获取指定目录下的所有文件或者文件夹File数组
        File[] allFilePath = myFolder.listFiles();
        System.out.println("文件：");
        for (File file :files){
            if (file.isFile()){
                System.out.println("\t"+file.getName());
            }
        }
        System.out.println("文件夹:");
        for (File file: files){
            if (file.isDirectory()){
                System.out.println("\t"+file.getName());
            }
        }
        File[] roots =File.listRoots();//取得所以的根 如果是windows系统将获得所以的磁盘
        for (int i = 0; i <roots.length ; i++) {
            System.out.println(roots[i]);
            System.out.println("空闲空间:"+roots[i].getFreeSpace());
            System.out.println("可用空间:"+roots[i].getUsableSpace());
            System.out.println("总空间:"+roots[i].getTotalSpace());
            System.out.println();
        }
        System.out.println("-------------------------");

        //删除文件和文件夹
        myFile.delete();
        if (!myFile.exists()){System.out.println("文件删除成功");}
        myFile.delete();
        if (!myFile.exists()){System.out.println("文件夹删除成功");}
        System.out.println("--------------");
    }
}
